var express = require('express');
var router = express.Router();
var PW=require("png-word");
var pw=new PW();
var R=require("random-word");

var users={};


/* GET users listing. */
//实际上会话对象session是与客户端对应的，服务器会为每个客户端创建自己的会话对象
router.get("/",function (req,res){

  //创建变量firstNum、secondNum 保证每次渲染都是不同的值
  const firstNum=Math.floor(Math.random()*100);
  const secondNum=Math.floor(Math.random()*100);
  //为什么这里要将数字验证码加到会话对象里面去呢？因为在不同的路由处理器里面定义的变量并不会通用，而通过session对象就可以公用
  req.session.firstNum=firstNum;
  req.session.secondNum=scondNum;
  var user=req.session.user || "";
  res.render("user",{user});
});

router.post("/lgoin",function (req,res){
    const Vcode=req.body.Vcode;
    //这里需要对req.body.Vcode进行转义，因为得到的变量类型是字符串类型，而不是Number类型
    if(users.loginName && user.loginName.loginPassword === req.body.loginPassword  && req.sessionfirstNum+req.session.secondNum===Number(Vcode))
    {
      req.session.user={users.loginName};
    }
    res.redirect("back");
});

router.post("/reg",function (req,res){
  var loginName=req.body.name;
  var loginPassword=req.body.Password;
  var confirm=req.body.confirm;
  //这里拿到的也是字符串
  var Vimg=req.body.Vimg;
  if(loginName && loginPassword && loginPassword === confrim && req.session.Vimg === Vimg){
    users.loginName={loginName,loginPassword};
  }
  res.redirect("back");
});

router.post("update_pwd",function (req,res){

});

router.get("/Vimg",function (req,res){
  var r=new R("12345");
  //这里得到的是随机字符串
  req.session.Vimg=r.random(3);
  pw.createReadStream(r.random(3)).pipe(res);
});

function (req,res,next){
  if(req.session.user &&)
}

//所谓的数据结构指的就是 users保存所有用户 用户名作为users的属性 里面需要保存一个对象{loginName,loginName}
router.post("/update_pwd",function (req,res){
  let loginName=req.body.loginName;
  let newPassword=req.body.loginPassword;
if(loginName){
  users.loginName.loginPassword=newPassword;
}
});



module.exports = router;
